package br.gov.ibama.client.comum;

import java.util.List;

import br.gov.ibama.client.menu.CriadorDeSecaoDeMenu;
import br.gov.ibama.client.visao.VisaoPrincipal;

import com.smartgwt.client.widgets.layout.SectionStackSection;

public abstract class ConfiguradorDeTela implements Executor {

	
	public void executa(CadeiaDeExecucao cadeia) {
		VisaoPrincipal visaoPrincipal = new VisaoPrincipal();
		visaoPrincipal.getImgButtonAjuda().setVisible(true);
		visaoPrincipal.getConfiguradorDeMigalha().reinicializaMigalha();
		montaMenu(visaoPrincipal);
		visaoPrincipal.draw();
	}

	protected void montaMenu(VisaoPrincipal visaoPrincipal) {
		List<DadosDeModulo> dadosDosModulos = getDadosDosModulos();
		for (DadosDeModulo dadosDeModulo : dadosDosModulos) {
			SectionStackSection secaoDeMenu = new CriadorDeSecaoDeMenu(
					dadosDeModulo, visaoPrincipal).criaSecaoDeMenu();
			if (secaoDeMenu != null) {
				visaoPrincipal.getStackMenu().addSection(secaoDeMenu);
			}
		}
	}

	protected abstract List<DadosDeModulo> getDadosDosModulos();

}
